package cn.trigram.example.designpattern.facade;

/**
 * 门面模式，为系统中的一组接口提供一个一致的界面，
 * Facade模式定义了一个高层接口，这个接口使得这一子系统更加容易使用
 */
public enum ProductSaleMan {
  /**
   *
   */
  instance;

  Stock stock = new Stock();

  FinalPrice finalPrice = new FinalPrice();

  public Object buySomething(String product, String addr, String discountCode) {

    if (!stock.hasStock(product)) {
      return "库存不足";
    }
    int price = finalPrice.getFinalPrice(product, addr, discountCode);
    return "订单信息:" + product + "-" + addr + "-" + discountCode + "-" + price;
  }
}
